1. Field of the Invention
The present invention relates to an information processing apparatus which displays an operation window having a plurality of types of print setting items to a printer and sets the print setting items, a control method therefor, and a computer program.
2. Description of the Related Art
When an application is to print a file of a document, graphics, or the like created on a computer, rendering data obtained from the file is generally converted into a printer control language using a printer driver, and the printer control language is transmitted to a printer. At this time, the user makes print settings associated with a printer (e.g., paper type, double-side printing, color, and paper feed stage) via a print setting user interface provided by the application or a print setting user interface provided by the printer driver. The user can make basic print settings via the user interface provided by the application. However, the user can neither set a special function of the printer nor make detailed settings unless he uses the user interface provided by the printer driver.
The number of printer driver functions is increasing year by year, and some printer drivers have several hundred functions. A print setting user interface has become complicated with many second and third layers which appear upon pressing buttons. It is difficult to decide a layer of the user interface to make settings. It is also cumbersome for the user to set so many functions. Further, the printer driver has many functional conflicts.
The functional conflict means that when one function is selected, another function becomes unavailable or another print setting value is rounded. For example, when the user selects user-defined paper, he cannot use the stapling function. In this case, when user-defined paper is selected, the setting item of the stapling function on the user interface is grayed out or hidden to inhibit selection, or a warning message is displayed.
In many cases, the user cannot make intended print settings on the user interface of the printer driver. Even if the user wants to make settings, an intended setting item is disabled on the user interface, or he cannot understand why he cannot make settings. Even if the user actually makes setting and prints, he cannot obtain the print result he wanted.
To solve this problem, the printer driver notifies the user by a message indicating a conflict. For example, “A conflict has occurred. You cannot use functions A and B at the same time.” is displayed. From this display, the user can recognize that a conflict has occurred, and can change the function. Some printer drivers display a detailed reason of a setting error such as “You cannot use this function owing to function C.” In this manner, the user is notified of a functional conflict by a message. As another method, an icon such as an exclamation mark is displayed at the setting item of an unselectable function to notify the user that the selection of this function will cause a conflict.
As still another conventional method, a conflict is solved using a user operation log. According to this method, log data of operations to set functions by the user on the user interface of the printer driver is saved, and frequently used functions are extracted on the basis of the operation log data. A print setting window is automatically generated on the basis of the extracted functions so as not to generate a conflict. Alternatively, the user is provided with several print conditions and prompted to select print conditions only from them. The user then need not be aware of a conflict. This method is disclosed in Japanese Patent Laid-Open Nos. 2002-073314 and 2006-039638.
However, according to the prior art, it is sometimes difficult to recognize a set operation which is a cause of a conflict and disabling the setting. Even when the reason of a conflict is displayed by a message, the user may not be able to specify the cause at once as the printer driver becomes very complicated.
Assume that there is a printer driver having a conflict that the “magnification (scaling)” function cannot be used when “bookbinding printing” is set, and a conflict that the “Nup” print function cannot be used when the “magnification” is unavailable. When the user is to select “bookbinding printing” and make the “Nup” print setting under this condition, he cannot select the “Nup” print setting. As the reason of the conflict, “the magnification is unavailable” is displayed. However, a correct reason of the conflict is not that the user set the magnification OFF but that he set “bookbinding printing”.
In this case where not a single conflict but a plurality of conflicts have occurred, the user cannot recognize the cause from only a message based on one conflict. This is because one conflict may induce another conflict.
To restore print setting values to default values in order to solve a conflict, the user must memorize a series of operations and perform the restore operation in the order he performed these operations. This is because, even if the user changes only a conflicting function, print setting values cannot be completely restored to default values because another conflict may have occurred and the user further may have changed another print setting value. Moreover, the user may not be able to recognize a causal function owing to a complicated printer driver user interface.
When the user interface is automatically built on the basis of user operation log data, the user can perform an operation without being aware of a conflict, but cannot easily use functions other than frequently used ones. The user does not always utilize only frequently used functions, and may want to make special settings only when printing a specific document. In this case, if the user interface is automatically built, the user cannot find out required settings. Even if a conflict is solved, the user cannot make settings. In many cases, the user makes settings again from the beginning after restoring settings to a default state using an initial setting function such as the function to restore default settings.